1. Field of the Invention
This invention generally relates to electronic circuits and methods for transmitting and receiving data, and more specifically relates to an Input/Output Controller Circuit and method for serving multiple Input/Output (I/O) ports with a single transmitter/receiver (commonly known as a transceiver).
2. Description of the Prior Art
In a typical computer system, such as an IBM PS/2 computer, each I/O port has a dedicated transceiver to perform the transmit/receive functions according to the needs of the I/O device coupled to the I/O port.
The technical specifications for the IBM PS/2 mouse and keyboard ports are described in IBM PS/2 Model 50 Technical Reference Manual, and are incorporated herein by reference. These ports are serial ports that communicate via serial bytes in a typical UART-type format, consisting of a start bit, seven data bits, an optional parity bit, and one or more stop bits. The mouse port has a single data line and a single clock line. These two signals are open-drain with a pull-up resistor so that different sources can drive these signals low as required. The mouse initiates a data transfer to the computer by asserting the clock line low, signaling to the computer that it has data to send. The mouse then activates the clock line for several clock cycles, and presents the appropriate data value on the data line for each negative clock transition, thereby shifting the serial data into the computer. The computer initiates a data transfer to the mouse by asserting the data line low and the clock line low, signaling to the mouse that the computer has data to send. The mouse then activates the clock line for several clock cycles, and clocks in the appropriate data value which the computer places on the data line for each negative clock transition, thereby shifting the serial data into the mouse. The keyboard port is identical in function to the mouse port as described above. In a typical PS/2 computer system there is one transceiver for the mouse port and a second transceiver for the keyboard port. Having one transceiver per I/O port is unnecessarily costly if a single transceiver can be used to serve both the mouse and the keyboard ports.
Therefore, there existed a need to provide an I/O controller circuit and method for using a single transceiver to service multiple I/O ports in a computer system such as a typical IBM PS/2.